# ===============================================================
# 
# Release under GPLv-3.0.
# 
# @file    Makefile
# @brief   
# @author  gnsyxiang <gnsyxiang@163.com>
# @date    04/08 2021 11:40
# @version v0.0.1
# 
# @since    note
# @note     note
# 
#     change log:
#     NO.     Author              Date            Modified
#     00      zhenquan.qiu        04/08 2021      create the file
# 
#     last modified: 04/08 2021 11:40
# ===============================================================

ifndef top_dir
top_dir := $(shell pwd)/../../..
endif

project                 := protobuf-c
project_version         := 1.5.0
project_download_url    := https://codeload.github.com/protobuf-c/protobuf-c/tar.gz/refs/tags/v$(project_version)

include $(top_dir)/configs/common_var.mk

all: depend_lib $(target_dir)-make

include $(sub_target_path)/common_sub_target.mk

depend_lib:

$(target_dir)-config: $(target_dir)-rename-gz-src
ifneq ($(config_ok_mark_path), $(wildcard $(config_ok_mark_path)))
	$(MKDIR) $(build_path)/$(@:-config=)

	cd $(src_path)/$(@:-config=) && \
        ./autogen.sh

	case $(host) in                                         \
        x86*)                                               \
	        cd $(build_path)/$(@:-config=) &&               \
                $(src_path)/$(@:-config=)/configure         \
                    CC=$(GCC) CXX=$(CXX)                    \
                    CPPFLAGS="$(cppflags_com)"              \
                    CFLAGS="$(cflags_com)"                  \
                    CXXFLAGS="$(cxxflags_com)"              \
                    LDFLAGS="$(ldflags_com)"                \
                    LIBS="$(libs_com)"                      \
                    PKG_CONFIG_PATH="$(pkg_config_path)"    \
                    --prefix=$(prefix_path)                 \
                    --build=$(build)                        \
                    --host=$(host)                          \
                    --target=$(host)                        \
                                                            \
            ;;                                              \
        arm-*|aarch*)                                       \
	        cd $(build_path)/$(@:-config=) &&               \
                $(src_path)/$(@:-config=)/configure         \
                    CC=$(GCC) CXX=$(CXX)                    \
                    CPPFLAGS="$(cppflags_com)"              \
                    CFLAGS="$(cflags_com)"                  \
                    CXXFLAGS="$(cxxflags_com)"              \
                    LDFLAGS="$(ldflags_com)"                \
                    LIBS="$(libs_com)"                      \
                    PKG_CONFIG_PATH="$(pkg_config_path)"    \
                    --prefix=$(prefix_path)                 \
                    --build=$(build)                        \
                    --host=$(host)                          \
                    --target=$(host)                        \
                                                            \
                    --disable-protoc                        \
            ;;                                              \
    esac

	$(TOUCH) $(config_ok_mark_path)
endif

.PHONY: all clean distclean list

